home *** CD-ROM | disk | FTP | other *** search
-
- (s/w only)
-
- SSSSS TTTTT A TTTTT I SSSSS TTTTT
- S T A A T I S T
- SSSSS T AAAAA T I SSSSS T
- S T A A T I S T
- SSSSS T A A T I SSSSS T
-
- Programm zur statistischen Auswertung von Zahlen jeglicher Art.
- Thomas Grützmacher (1987,88,89)
-
- ****************************************************************
- * A C H T U N G *
- * D I E S P R O G R A M M I S T I M M E R N O C H *
- * p u b l i c d o m a i n, W E R E S K O P I E R T *
- * U N D D A M I T A R B E I T E T, D E R S C H I C K E *
- * B I T T E 3 0 . - D M A N M E I N E A D R E S S E ! ! *
- * (am Ende dieses Files) *
- ****************************************************************
-
- Zum Inhalt dieser Diskette:
-
- Auf dieser Floppy sind folgende Dateien zu finden:
- GFABASRO.PRG - der GFA-Run-Only Interpreter
- DEFAULT.PAR - der Parameter-File zur Grafikauswahl
- TEST_3.SEQ - Beispielfile
- TEST_2.SEQ - " "
- 1ST_TEST.PRN - " "
- 1ST_TEST.SEQ - " "
- BEISPIEL.PRN - Beispielfile aus dieser Einleitung
- BEISPIEL.SEQ - " " " "
- STATIST.BAS - Source des Programms
- STATIST.RSC - RSC-File zum Programm
- STATIST.PRG - Comp. Version des STatiST
- INHALT - Ein Verzeichnis der Files
- STAT_MAN.SDO - Ein in Englisch geschriebenes Handbuch mit viel
- Grafik zur Verwendung unter Signum!2
- READ_ME.1ST - Dieser Text
-
-
-
-
-
-
- W I C H T I G E Ä N D E R U N G E N Z U R p d - V E R S I O N
-
- - KEINE FEHLER MEHR (soweit bekannt)
- - VOLLSTÄNDIG IN ENGLISCH
- - ERWEITERTE XY-GRAFIK (LINEARE SKALA, CROSS-PLOT)
- - REGRESSION 3ten GRADES
- - UNTERSTÜTZUNG DER FESTPLATTE (LETZTER PFAD WIRD
- AKTUALISIERT)
- - ROUTINEN ZUR BILDSCHIRMMANIPULATION
- - IMMER NOCH NICHT FERTIG
- -----------------------
-
- EINLEITUNG:
- -----------
-
- Wer oft mit vielen Zahlen arbeitet, etwa im Labor, in der
- Wirtschaft oder in der Ausbildung, der kennt auch die Probleme,
- wenn es darum geht, diese Zahlen zu interpretieren. Vor allem
- müssen oft Zahlen unterschiedlicher Einheit betrachtet werden,
- Trendanalysen sind gefragt, oder Aussagen zur Verteilung ver-
- schiedener Variablen.
-
- Eine professionelle Tabellenkalkulation leistet bei der Bewälti-
- gung solcher großen und kleinen Zahlenmengen sehr wertvolle
- Dienste, aber wer mit VIP-Professional arbeitet, wird sich oft
- über die mangelnden Grafikmöglichkeiten und das Fehlen einiger
- statistischer Funktionen geärgert haben. Genau in diese Lücke
- zielt nun dies Programm. Es verarbeitet Tabellen, die sich mit
- VIP leicht herstellen lassen, oder die von einem beliebigen
- Editor stammen. Einzige Bedingung dabei ist, daß die Tabelle im
- ASCII-Format vorliegen muß. Bei VIP läßt sich so etwas mit
- "Print - File" machen, dabei wird ein Teil (oder alles) der
- Worksheets mit der Extension .PRN auf Diskette abgespeichert.
- Diese PRN-Files lassen sich in eine Textverarbeitung einlesen,
- was bei der weitereren Verarbeitung sehr praktisch ist (z.B. bei
- der Auswahl des Druckformats). Genau diese Files, deren Aufbau
- noch genauer erklärt wird, verarbeitet dieses Programm.
-
- Aller Anfang ist kompliziert!
-
- Als erstes wird wohl jeder seine Zahlen in tabellarischer Form
- zusammenstellen. Ob mit VIP oder z.B. 1ST-WORD (mit ausgeschalte-
- tem WP-mode) gearbeitet wird ist dabei egal. Wird VIP verwendet,
- leistet folgendes Makro beim Abspeichern als ASCII-File gute
- Dienste:
-
- '/PF{?}~CAOOUML0~MR239~P63~QR.{?}GQ
-
- Es besteht seit der Version 1.2 die Möglichkeit, .SEQ-Files auch
- aus STATIST heraus direkt zu erstellen und sie in tabellarischer
- Form (.PRN) abzuspeichern.
-
- Wie muß nun eine Tabelle aussehen, die mit diesem Statistikpro-
- gramm verarbeitet werden kann? Folgendes Schema verdeutlicht den
- Aufbau, der zum einwandfreien Funktionieren notwendig ist:
-
- Beispiel:
- 1.Zeile var1 var2 var3 var4 var5 (Variablennamen)
- 2.Zeile 12 23 0.2 15 25 (Zahlen
- 1.5 13 19 25 0.02 ...
- . . . . . ...
- n-te Zeile n n n n n ... )
- usw.
-
- Dabei sind noch folgende Konventionen zu beachten:
- 1.Zeile :
- Variablennamen(max. 5 Zeichen lang, dürfen keine
- Leerzeichen enthalten (falsch: Var 1
- richtig: Var1)
- 2. bis n-te Zeile:
- Zahlen, die von mindestens einem Leerzeichen getrennt
- sein müssen.
-
- Der erste Schritt bei der Arbeit mit diesem Programm besteht
- immer im konvertieren der obenbeschriebenen Tabelle in ein
- anderes (sequentielles) Format. Das wird vom Menüpunkt "CHANGE PRN
- TO SEQ-FILE" gemacht. Dabei wird aus der ursprunglichen Tabelle, in
- der ja jede Zeile ein String ist, die Variablennamen und die Zahlen
- herausgefiltert, und zwar werden die einzelnen Namen und Zahlen
- anhand der sie trennenden Leerzeichen separiert (daher darf ein
- Variablenname auch kein Leerzeichen enthalten, das Programm würde
- dies als ZWEI Variablen interpretieren). Abgespeichert wird ein
- File mit Extension ".SEQ", der in diesem Programm dann verarbeitet
- werden kann.
-
- Noch etwas ist beim Erstellen der Tabelle zu beachten:
-
- Das Programm erwartet zu jeder Variablen die gleiche Anzahl
- Zahlen, Leerstellen in der Tabelle sind also bereits beim Erstel-
- len sinnvoll aufzufüllen, etwa mit "0", oder dem Mittelwert der
- Variablen, oder einem zufällig gewählten Wert.
- Eine kleine Übung zum Erstellen eines Datenfiles befindet sich
- ganz am Ende dieses Files.
-
- Im Programm ist die Anzahl der Variablen auf 20 und die Anzahl
- der Zahlen auf 1000 pro Variable beschränkt. Diese Zahlenmengen
- verursachen zum Teil längere Wartezeiten bei den einzelnen
- Programmfunktionen, da GfA-Basic zwar schnell ist, aber eben eine
- Interpretersprache. Versuche das Programm fehlerfrei zu Compilieren
- schlugen bisher fehl, bei der Berechnung der Korrelationskoeffizienten
- tritt ein unerfindlicher Fehler auf, der einen X:X-Korrelations-
- koeffizienten ungleich 1 (!) ausweist, die Interpreterversion läuft
- aber absolut einwandfrei ?!. Dieser Diskette enthält beides, des
- GFA-RUN-ONLY-INTERPRETER und den Source-code (STATIST.BAS),
- ebenso das Compilierte Programm (STATIST.PRG). Der o.g. Fehler
- tritt nur äusserst selten auf, daher kann in der Regel mit der
- schnelleren compilierten Version gearbeitet werden.
-
-
- ALLGEMEINES:
- ------------
-
- Die Fähigkeiten dieses Programms sind am besten durch
- Probieren zu erlernen und zu begreifen. Nur noch kurz zu
- den wichtigsten Punkten:
-
- Der "Trick" des Programms besteht in der Umrechnung der
- Zahlen in die sogenannte Standardnormalform. Dabei
- werden die Zahlen dimensionslos und liegen hinterher in
- der Einheit der Standrdabweichung vor.
-
- Wert * Mittewert
- Standardnormalform-Wert= ----------------
- Standardabweichung
-
- Damit lassen sich unterschiedlichste Zahlen sehr gut
- vergleichen.
- Unter dem Menuepunkt "graphics style" kann der zu
- betrachtende Wertebereich festgelegt werden.
- In vielen Fällen verwendet das Programm nur diesen
- Wertebereich (Korrelationskoeffizient, univariate
- Verteilung, XY-Plot (z.T.).
- Legt man eine Normalverteilung der Zahlen zugrunde,
- so werde 99.9%, oder 99%, oder 95% der Zahlen
- betrachtet, der Rest bleibt unberücksichtigt.
- Dadurch können Ausreisser und Extremwerte sehr
- einfach herausgefiltert werden.
-
- Alle Grafiken sind auf einem Drucker als Hardcopy
- auszugeben, bzw. können im DEGAS- oder DOODLE-Format
- abgespeichert werden. Die Matrizen der Korrelations-
- koeffizienten sind ebenfalls auf Diskette abspeicherbar
- (als ASCII-File, und damit in einer Textverarbeitung
- einlesbar). Bei der Hardcopy-Routine und beim Abspeichern
- in den Zeichenprg.-Formaten wird die Menuzeile ausgeblendet.
-
-
- KURZFASSUNG DER MENUEPUNKTE:
- ----------------------------
-
- STatiSTics COPYRIGHT-MESSAGE und optional ein ca. 3
- Seiten langer Hilfstext als kurze
- Programmeinführung.
-
- Change PRN to SEQ-file Liest die oben beschriebenen Files
- (mit Extension *.PRN) ein und konvertiert
- sie in das Programmformat (mit
- Extension *.SEQ).
-
- Load SEQ-file Liest die Dateien mit Extension *.SEQ ein.
- Die jeweils eingelesene steht dem Programm
- zur Verabeitung zur Verfügung. Die Extension
- *.SEQ ist zwingend, sollte eine andere
- Extension vorhanden sein, wird zur Routine
- "Change PRN to SEQ-file" verzweigt.
-
- Make SEQ-file NEUE Option zur Erstellung von SEQ-Files
- aus dem Programm heraus. Praktisch bei
- kleinen Datenmengen. (Ausdrucken [file,
- printer,screen] geht unter "Diverse".
-
- Delete file Wer trennt sich schon gerne von Daten?
- Aber manchmal notwendig!
-
- Calc. correlation Berechnung des Korrelationskoeffizien-
- ten, Betrachtung der Wertemenge je nach
- gewähltem Intervall.
-
- Restore screen Umschalten auf die zuletzt berechnete
- Korrelationsmatrix, praktisch bei
- grossen Datenmengen, da man die Neube-
- rechnung spart.
-
- Print correlation Druckfunktion [file, printer] für die
- zuletzt berechnete Korrelationsmatrix.
- Extension "*.KOR".
-
- Diverse Neueste Unterpunkt. Noch nicht fertig,
- d.h. erweiterbar!
- Hier können z.Z. die Daten ausgegeben
- werden: File-Printer-Screen möglich.
- Ausgabebreite 80 Zeichen/Zeile, Bei
- Überbreite erfolgt die Ausgabe nachein-
- ander, d.h. untereinander.
-
- 2-D univariate Erzeugt eine univariate Verteilungsgrafik
- auf dem Bildschirm. Dabei ist der Werte-
- bereich wählbar. Die Intervallbreite ist
- auf 1/10tel Standardabweichung festgelegt.
- Dargestellt wird die "relative Häufigkeit"
- also die absolute Häufigk./Anzahl der Werte.
- Wahlweise lässt sich die Skalierung von
- Symbolen (Mittelw., Standardabw.) auf
- numerisch umschalten.
-
- 3-D bivariate Erzeugt eine 3D-Darstellung einer Verteilung
- zweier Variabler. Dabei ist das Bereichs-
- intervall auf +-3fache Standardabweichung
- festgelegt. Die Klassenbreite ist wählbar
- mit 1/2, 1/3, 1/4 Teilen der Standardabweichung.
- Daneben können Schraffur und/oder Käst-
- chenhöhe verändert werden.
-
- X/Y-plot XY-Diagramm zweier Variabler in der
- Darstellung der Standardnormal-
- form. Wählbarer Wertebereich (100%
- 99.9%, 99%, 95% einer Grundgesamtheit)
- für die Darstellung standardisierter
- Daten. Linerare Skalierung ist auch mög-
- lich, sowohl mit konventioneller Abszis-
- sen/Ordinaten-Anordnung, als auch mit
- zentralem Achsenkreuz. Einblendung der
- Abweichung von der lineraren Regression
- der Daten als Fehlerbalken (für X oder X
- und Y).
-
- Regression
- Nur wählbar wenn XY-Plot auf dem Monitor
- ist. Dabei sind zwei Regressionsarten
- wählbar:
- Lineare : Darstellung einer oder beider
- Regressionsgeraden
- nicht lin.: Kurve basierend auf der Lösung
- einer quadratischen oder
- kubischen Gleichung
- Trick --> alles erstmal übereinanderlegen
- und sehen welche Regression am
- besten passt.
-
- Log-plot Logarithmische Darstellung zweier Vari-
- ablen, wahlweise als XY-plot oder als
- Summenkurve der aufsummierten geordneten
- Einzelwerte
-
- Tri-plot Prozentuale Darstellung dreier Variabler
- in einem Dreiecksdiagramm. Dabei kann
- eine Gesamtdarstellung (100%) oder die
- Wiedergabe eines Ausschnitts gewählt
- werden. Bei der Ausschnittsvergrößerung
- wird nach der unteren Grenze der Variablen
- gefragt, dabei ist zu beachten, daß die
- Summe der unteren Grenzen nur <=95 sein darf.
-
- surface-plot Erstellung einer Oberflächengrafik aus
- den Gesamtdaten, wahlweise der Rohdaten
- oder der standardisierten Daten. Die
- Grafikroutine beinhaltet keinerlei
- Rechenoperationen wie z.B. Interpola-
- tion. Der Datenfile ist daher vorher zu
- "stylen"
-
- Cluster NICHT FERTIG !
- Der Versuch die Clusteralgorithmen
- (FORTRAN) aus Hrn. SPÄTH's Buch umzu-
- schreiben scheiterte an der zu gross-
- zügigen Verwendung der GOTO-Unsitte
- dieser Verfasser ! Immerhin wird schon
- was gemacht, nur interpretierbar ist's
- nicht.
-
- Hardcopy Klar! Die Menüzeile wird ausgeblendet.
- Verwendet die eingebaute ATARI-Hardcopy-
- Routine (=ALT+HELP). 24-Nadler bitte
- vorher anderen Treiber (pd) laden.
-
- Save Degas Speichert Bildschirm im DEGAS-Format.
- Ebenfalls Ausblendung der Menüzeile.
- Extension "*.PI3"
-
- Save Doodle Wie oben, aber 32 kb Format
-
-
- Graph_mix Neues DROP-DOWN Menü:
-
- Define block Aus der aktuellen Screen-Seite
- können Teile in einen Hilfs-screen
- übernommen werden.
-
- Recall new Zeigt den Hilfs-screen
-
- Restore old Stellt die letzte Grafik wieder
- her. Sehr praktisch wenn man auch
- zwischen Grafik und Korrelations-
- matrix hin und her schaltet.
-
- Clear new Löscht den Hils-screen, wenn's
- nichts war.
-
- Disc/file info Zeigt den zuletzt geöffneten File, den
- verbleibenden Speicher, die noch frei
- Kapazität des Massenspeichers (bezogen
- auf Laufwerk / Partition) und alle im
- aktuellen Ordner (von dem aus STatiST
- gestartet wurde) befindlichen Dateien
- des Typs *.SEQ an.
-
- Graphics style ENTSCHEIDENDSTE SEITE DES PROGRAMMS:
- Hier können zusammengefasst auf einer
- Seite mit der Maus fast alle möglichen
- Variationen und Optionen der Grafiken
- und des Wertebereichs gewählt werden.
- Die Parameter sind abspeicherbar
- (*.PAR), beim Starten des Programms wird
- automatisch im aktuellen Ordner nach der
- Datei "DEFAULT.PAR" gesucht, in der man
- die Grundeinstellungen saven sollte.
-
- Quit Einzig legaler Ausweg dem Ganzen ein
- Ende zu bereiten.
-
-
- Zu beachten ist noch folgendes:
- Das Programm erwartet die Datenfiles zunächst in dem
- Laufwerk, von dem aus das Programm gestartet wurde.
- Danach merkt es sich immer den zeletzt gewählten Pfad
- (gut bei einer Festplatte).
-
- Bei der Vergabe von Filenamen kann auf die Eingabe
- der Extension verzichtet werden kann, Die entsprechende
- Endung wird in JEDEM Fall angefügt (also auch wenn sie
- anders lautet).
-
- Zum Schluß:
- Sollte jemand sich die Mühe machen und dies Programm
- erweitern, oder Fehler entdecken, oder einen Verbesse-
- rungsvorschlag haben, dann schreibt mir bitte, bzw.
- schickt mir eine Diskette.
-
- Adresse:
- Thomas Grützmacher
- Wanloerstr. 23
- 4053 Jüchen 2
- 02164 / 2281
-
-
- Kleine Übung zum Erstellen einer verarbeitbaren Datentabelle:
-
- Wie schon gesagt, in der ersten Zeile stehen die Variablennamen, in den
- folgenden die Zahlenwerte, spaltenweise geordnet:
- Arbeiten Sie mit VIP, dann benutzen Sie das Makro zum Abspeichern eines
- Arbeitsblattbereichs, der die Tabelle enthält.
- Arbeiten Sie mit einem Editor oder mit 1ST-WORD (WP-mode AUSGESCHALTET),
- dann definieren sie einen Textblock und speichern Sie ihn ab.
-
- | Blockanfang
- var1 var2 var3 &&&& dings da hallo max
- 0 0.1 0.01 10 0.5 0.3 15 100
- 1 0.2 0.02 20 1 0.6 7.5 50
- 2 0.3 0.03 30 0.5 0.9 3.75 25
- 3 0.4 0.04 40 0.25 1.2 2.9 12.5
- 4 0.5 0.05 50 0.125 1.5 1.45 6.25
- 5 0.6 0.06 60 0.063 1.8 0.73 3.14 <---Blockende
-
- Der Textblock muß am "v" von "var1" (in der ersten Zeile) anfangen,
- enden muß er ein Blank nach der "4" von "3.14" (letzte Zahl in der
- letzten Zeile).
-
- Die Form der Tabelle ist variabel, die Zahl der trennenden Leerzeichen
- ist nicht festgelegt, nur muß mindestens ein Leerzeichen Zahlen und/oder
- Variablennamen trennen.
-
-
- NACHTRAG ZUR VERSION 1.35:
-
- Ab Version 1.35 ist das Programm in GFA-BASIC 3.07 geschrieben und
- mit Compiler 3.02 compiliert. Dabei wurden alle clipping-Routinen
- durch explizite Abfragen der x und y Bildschirmkoordinaten ersetzt.
- Die alten clipping Routinen führten immer zum TOTALABSTURZ des Rechners.
- Ob das an meiner alten TOS-Version (1.0 aus 1985) liegt, oder der Fehler
- im GFA-Basic liegt, war nicht herauszufinden.
-
- Folgende Fehler wurden beseitigt:
-
- 1. Das Programm erkennt nun bei der Konvertierung .PRN zu .SEQ
- vorhandene Leerzeilen. Diese führten vor allen beim Arbeiten mit
- Editoren zu Fehlern, da oft von diesen Leerzeile(n) angehängt wurden.
-
- 2. Nullstrings (val(nix)=0) und Nullwerte werden korrekt verarbeitet.
-
-
- NACHTRAG ZUR VERSION 1.36:
- Erstmalig wird ein RSC-File verwendet. Die Grafikparametrierung wird
- damit auf einem Objekt gemacht. Dies war notwendig, da einige Benutzer
- (offensichtlich mit Blitter-TOS) Schwierigkeiten bei dieser Seite hatten.
- Unerkärliche Abstürze waren die Folge. Mit der Einbindung einer GEM-Routine
- anstatt der alten "handgestrickten" Button-Auswahl sollten diese
- Fehler beseitigt sein.
- Ergänzungen:
-
- 1. Ab 1.34 ist der Menüpunkt "Diverse" dazugekommen. dieser ermöglicht
- die tabellarische Ausgabe eingelesener Daten (damit ist eine Kontrolle der
- eingelesenen Daten möglich) auf Screen, File oder Printer. Die Werte werden
- zur Ausgabe gerundet. Überbreite Tabellen werden nach unten abgeklappt.
-
- 2. Die Regression kann nun auch mit der GFA-3.0 eigenen Routine
- "BEZIER-CURVE" erfolgen. Dabei werden alle Daten zunächst sortiert, dann
- der XY-Plot gezeichnet und anschließend die "Kurve" eingezeichnet.
- Die Kurve wird immer für 3 aufeinanderfolgende Punkte berechnet und
- gezeichnet. Dabei treffen sich die Kurvenenden nicht immer. Die Grafik
- wirkt dann zwangsläufig etwas holprig. Ich weiß, ein SPLINE Algorithmus
- wäre angebracht, ...
-